home *** CD-ROM | disk | FTP | other *** search
-
- QuickBBS Version 2.00 Structures Document
- =========================================
-
- This file contains all of the data file structures used by the QuickBBS
- Version 2 series. These are provided as a reference for utility writers
- to develop and test their programs for use with QuickBBS.
-
- All "String[]" type variables are one byte bigger than specified, byte 0
- (the first byte) contains the length of the string. The remaining of
- the string should be ignored, as it is not padded with nulls.
-
- Turbo Pascal Variable Type C Language Var Type Length
- ===============================================================
- Byte | Char | 1 byte
- Char | Char | 1 byte
- Integer | Int | 2 bytes
- Word | Unsigned Int | 2 bytes
- LongInt | Long | 4 bytes
- Real | [ None ] | 6 bytes
- ===============================================================
-
- ==========================================================================
-
- Type
- FlagType = Array[1..4] of Byte;
-
- UserRecord = Record { Used in the USERS.BBS File }
- Name: String[35];
- City: String[25];
- Pwd: String[15];
- DataPhone,
- HomePhone: String[12];
- LastTime: String[5];
- LastDate: String[8];
- Attrib: Byte;
- Flags: FlagType;
- Credit,
- Pending,
- TimesPosted,
- HighMsgRead,
- SecLvl,
- Times,
- Ups,
- Downs,
- UpK,
- DownK,
- TodayK,
- Elapsed,
- Len: Integer;
- ExtraSpace: Array[1..8] of Byte;
- End;
-
- (* Attrib:
-
- Bit 0: Deleted
- Bit 1: Screen Clear Codes
- Bit 2: More Prompt
- Bit 3: ANSI
- Bit 4: No-Kill
- Bit 5: Ignore Download Hours
- Bit 6: ANSI Full Screen Editor
- Bit 7: [ Reserved ]
-
- *)
-
- { Nodelist Records *************************************************** }
-
- NodeIdxRecord = Record { Used in the QNL_IDX.BBS file }
- Zone,
- Net,
- Node: Integer;
- NodeType: Byte;
- End;
-
- NodelistRecord = Record { Used in the QNL_DAT.BBS file }
- NodeType: Byte;
- Zone,
- Net,
- Node: Integer;
- Name: String[20];
- City: String[40];
- Phone: String[40];
- BaudRate: Integer;
- Cost: Integer;
- End;
-
- { Message Records ******************************************************}
-
- InfoRecord = Record { Used in the MSGINFO.BBS file }
- LowMsg: Integer; { Lowest Message in File }
- HighMsg: Integer; { Highest Message in File }
-
- TotalActive: Integer; { Total Active Messages }
-
- ActiveMsgs: Array[1..200] of Integer;
- End;
-
- IdxRecord = Record { Used in the MSGIDX.BBS file }
- MsgNum: Integer;
- Board: Byte;
- End;
-
- HdrRecord = Record { Used in the MSGHDR.BBS file }
- MsgNum,
- ReplyTo,
- SeeAlsoNum,
- TRead: Integer;
- StartRec: Word;
- NumRecs,
- DestNet,
- DestNode,
- OrigNet,
- OrigNode: Integer;
- DestZone,
- OrigZone: Byte;
- Cost: Integer;
- MsgAttr,
- NetAttr,
- Board: Byte;
- PostTime: String[5];
- PostDate: String[8];
- WhoTo,
- WhoFrom: String[35];
- Subj: String[72];
- End;
-
-
- (* Msg Attributes:
-
- Bit 0: Deleted
- Bit 1: Unmoved Outgoing Net Message
- Bit 2: Is a Net Mail Message
- Bit 3: Private
- Bit 4: Received
- Bit 5: Unmoved Outgoing Echo Message
- Bit 6: Local Bit
- Bit 7: [ Reserved ]
-
- Net Attributes:
-
- Bit 0: Kill Message after it's been sent
- Bit 1: Sent OK
- Bit 2: File(s) Attached
- Bit 3: Crash Priority
- Bit 4: Request Receipt
- Bit 5: Audit Request
- Bit 6: Is a Return Receipt
- Bit 7: [ Reserved ]
-
- Each record in the MSGTOIDX.BBS file is of type String[35], each entry
- is simply the name of the corresponding message in MSGHDR.BBS is
- addressed to.
-
- Each record in the MSGTXT.BBS file is of type String[255], each entry
- is used to store blocks of message text. The variable "StartRec" in
- the MSGHDR.BBS file contains the starting record position for the
- text, the variable "NumRecs" indicates how many consecutive blocks
- of text there are in the MSGTXT.BBS file.
-
- *)
-
- { Other Stuff *********************************************************** }
-
- SysInfoRecord = Record { Used in the SYSINFO.BBS file }
- CallCount: LongInt;
- LastCaller: String[35];
- ExtraSpace: Array[1..128] of Byte;
- End;
-
- TimeLogRecord = Record { Used in the TIMELOG.BBS file }
- StartDate: String[8];
- BusyPerHour: Array[0..23] of Integer;
- BusyPerDay: Array[0..6] of Integer;
- End;
-
- MenuRecord = Record { Used for all *.MNU files }
- Typ: Byte;
- Sec: Integer;
- Flags: FlagType;
- Str: String[75];
- Key: Char;
- Data: String[80];
- Fg,
- Bg: Byte;
- End;
-
- { Configuration Information ********************************************** }
-
- EventRecord = Record { Part of Configuration Record }
- Status: Byte; { 0=Deleted 1=Enabled 2=Disabled }
- RunTime: String[5];
- ErrorLevel: Byte;
- Days: Byte;
- Forced: Boolean;
- LastTimeRun: String[8];
- End;
-
- BoardRecord = Record { Part of Configuration Record }
- Name: String[16];
- Typ: Byte; { 0=Standard 1=Net 2=EMail 3=Echo }
- Kinds: Byte; { 0=Both 1=Pvt 2=Pub 3=Read-Only }
- Combined: Boolean;
- Aliases: Boolean;
-
- ReadSecLvl: Integer;
- ReadFlags: FlagType;
-
- WriteSecLvl: Integer;
- WriteFlags: FlagType;
-
- SysopSecLvl: Integer;
- SysopFlags: FlagType;
- End;
-
- ConfigRecord = Record { Used for the CONFIG.BBS file }
- (* Modem Parameters *)
- CommPort: Integer;
- InitBaud,
- InitTimes,
- AnswerWait: Integer;
- ModemInitStr,
- ModemBusyStr: String[70];
- ModemInitResp,
- ModemBusyResp,
- Resp300,
- Resp1200,
- Resp2400: String[40];
-
- (* System Paths *)
- MenuPath,
- TextPath,
- NetPath: String[66];
-
- (* Restriction Parameters *)
- MinBaud,
- GraphicsBaud,
- XferBaud: Integer;
- LowBaudStart,
- LowBaudEnd,
- DownloadStart,
- DownloadEnd,
- PagingStart,
- PagingEnd: String[5];
-
- (* Matrix Information *)
- MatrixZone,
- MatrixNet,
- MatrixNode: Integer;
- AkaNet,
- AkaNode: Array[1..5] of Integer;
- NetMailBoard: Integer;
-
- (* Default Information for New Users *)
- DefaultSec: Integer;
- DefaultCredit: Integer;
- DefaultFlags: FlagType;
-
- (* Sysop Security Levels *)
- EditorCmdStr: String[70];
- OriginLine: String[60];
- SysopName: String[35];
- AutoLogonChar,
- FastLogon,
- ScreenBlanking,
- UseLastRead,
- MonoMode,
- DirectWrite,
- SnowCheck,
- NetEchoExit,
- OneWordNames,
- CheckMail,
- AskHomePhone,
- AskDataPhone,
- GraphicsAvail: Boolean;
- InactiveTimeOut: Integer;
- LogonTime: Integer;
- DefFgColor: Integer;
- DefBgColor: Integer;
- PasswordTries: Integer;
- MaxPageTimes: Integer;
- PageBellLen: Integer;
-
- UseZoneGates: Boolean;
- ExtraSpace: Array[1..511] of Byte;
-
- EventRec: Array[1..30] of EventRecord;
- BoardRec: Array[1..200] of BoardRecord;
- End;
-
- ExitRecord = Record { Used for the EXITINFO.BBS file }
- BaudRate: Integer;
- SysInfo: SysInfoRecord;
- TimeLogInfo: TimeLogRecord;
- UserInfo: UserRecord;
- EventInfo: EventRecord;
- NetMailEntered: Boolean;
- EchoMailEntered: Boolean;
- LoginTime: String[5];
- LoginDate: String[8];
- TmLimit: Integer;
- LoginSec: LongInt;
- Credit: LongInt;
- UserRecNum: Integer;
- ReadThru: Integer;
- PageTimes: Integer;
- DownLimit: Integer;
- End;
-
-